package com.tansun.easycare.rule.ruleproj.dao;

import java.util.List;
import java.util.Map;

import com.tansun.easycare.rule.common.dao.RuleBaseDao;
import com.tansun.easycare.rule.rulemange.model.RuleManageVO;
import com.tansun.easycare.rule.ruleproj.entity.RuleProject;
import com.tansun.easycare.rule.ruleproj.model.RuleprojectVO;

/**
 * 规则项目管理DAO接口
 *
 * @author lph
 * @version 2017-02-06
 */

public interface RuleProjectDao extends RuleBaseDao<RuleProject> {
    RuleProject getByCode(String code);
    //0916新增 ljt
    RuleProject getByCodeForRef(String projectcode);
    
    /**
     * 根据projectCodes 查询 传入参数 key = list
     * @param map
     * @return
     */
    List<RuleProject> getByCodeListForRef(Map map);


    int ruleProjExistCount(RuleProject rp);
    /**
     * 查询出项目列表，排除掉当前projectCode
     * @param projectCode
     * @return
     */
    public List<RuleProject> findExcludeCode(String projectCode);

    //根据项目名称获取对应的项目
    RuleProject getByName(String projectName);

    /**
     * 查询出所有项目集合(除了引用的项目)
     * @param ruleProject
     * @return
     */
    List<RuleProject> findListExcludeCode(RuleProject ruleProject);
    
    /**
     * 查询规则项目VO信息
     */
    List<RuleprojectVO> findRuleProjectVO(RuleprojectVO ruleProjectVO);

}